Computer System for Continuous Oblique Panning

ABSTRACT

A computer system for continuously panning oblique images is disclosed. More particularly, the computer system uses a methodology whereby separate oblique images are presented in a manner that allows a user to maintain an understanding of the relationship of specific features between different oblique images when panning.

INCORPORATION BY REFERENCE

The present patent application is a continuation of and claims priorityto the patent application identified by U.S. Ser. No. 13/781,090, filedon Feb. 28, 2013, which claims priority to the patent applicationidentified by U.S. Ser. No. 12/023,861, filed on Jan. 31, 2008, whichclaims priority to the provisional patent application identified by U.S.Ser. No. 60/898,990, filed on Feb. 1, 2007, the entire contents of whichare hereby incorporated herein by reference.

FIELD OF INVENTION

The presently claimed and disclosed invention(s) relate to obliqueimages and methods for continuously panning the same. More particularly,the presently claimed and disclosed invention(s) use a methodologywhereby separate obliquely captured images are panned in a continuousfashion.

BACKGROUND OF THE ART

In the remote sensing/aerial imaging industry, imagery is used tocapture views of a geographic area and be able to measure objects andstructures within the images as well as to be able to determinegeographic locations of points within the image. These are generallyreferred to as “geo-referenced images” and come in two basic categories:

-   -   1. Captured Imagery—these images have the appearance they were        captured by the camera or sensor employed.    -   2. Projected Imagery—these images have been processed and        converted such that they confirm to a mathematical projection.

All imagery starts as captured imagery, but as most software cannotgeo-reference captured imagery, that imagery is then reprocessed tocreate the projected imagery. The most common form of projected imageryis the ortho-rectified image. This process aligns the image to anorthogonal or rectilinear grid (composed of rectangles). The input imageused to create an ortho-rectified image is a nadir image—that is, animage captured with the camera pointing straight down. It is often quitedesirable to combine multiple images into a larger composite image suchthat the image covers a larger geographic area on the ground. The mostcommon form of this composite image is the “ortho-mosaic image” which isan image created from a series of overlapping or adjacent nadir imagesthat are mathematically combined into a single ortho-rectified image.

When creating an ortho-mosaic, this same ortho-rectification process isused, however, instead of using only a single input nadir image, acollection of overlapping or adjacent nadir images are used and they arecombined to form a single composite ortho-rectified image known as anortho-mosaic. In general, the ortho-mosaic process entails the followingsteps:

-   -   A rectilinear grid is created, which results in an ortho-mosaic        image where every grid pixel covers the same amount of area on        the ground.    -   The location of each grid pixel is determined from the        mathematical definition of the grid. Generally, this means the        grid is given an X and Y starting or origin location and an X        and Y size for the grid pixels. Thus, the location of any pixel        is simply the origin location plus the number of pixels times        the size of each pixel. In mathematical terms:        Xpixel=Xorigin+Xsize×Columnpixel and        Ypixel=Yorigin+Ysize×Rowpixel.    -   The available nadir images are checked to see if they cover the        same point on the ground as the grid pixel being filled. If so,        a mathematical formula is used to determine where that point on        the ground projects up onto the camera's pixel image map and        that resulting pixel value is then transferred to the grid        pixel.

Because the rectilinear grids used for the ortho-mosaic are generallythe same grids used for creating maps, the ortho-mosaic images bear astriking similarity to maps and as such, are generally very easy to usefrom a direction and orientation standpoint.

However, since they have an appearance dictated by mathematicalprojections instead of the normal appearance that a single cameracaptures and because they are captured looking straight down, thiscreates a view of the world to which we are not accustomed. As a result,many people have difficulty determining what it is they are looking atin the image. For instance, they might see a yellow rectangle in theimage and not realize what they are looking at is the top of a schoolbus. Or they might have difficulty distinguishing between two commercialproperties since the only thing they can see of the properties in theortho-mosaic is their roof tops, where as most of the distinguishingproperties are on the sides of the buildings. An entire profession, thephoto interpreter, has arisen to address these difficulties as theseindividuals have years of training and experience specifically ininterpreting what they are seeing in nadir or orthomosaic imagery.

Since an oblique image, by definition, is captured at an angle, itpresents a more natural appearance because it shows the sides of objectsand structures—what we are most accustomed to seeing. In addition,because oblique images are not generally ortho-rectified, they are stillin the natural appearance that the camera captures as opposed to themathematical construction of the ortho-mosaic image.

This combination makes it very easy for people to look at something inan oblique image and realize what that object is. Photo interpretationskills are not required when working with oblique images. Obliqueimages, however, present another issue. Because people have learnednavigation skills on maps, the fact that oblique images are not alignedto a map grid, like ortho-mosaic images, makes them much less intuitivewhen attempting to navigate or determine direction on an image. When anortho-mosaic is created, because it is created to a rectilinear gridthat is generally a map grid, the top of the orthomosaic image is north,the right side is east, the bottom is south, and the left side is west.This is how people are generally accustomed to orienting and navigatingon a map. But an oblique image can be captured from any direction andthe top of the image is generally “up and back,” meaning that verticalstructures point towards the top of the image, but that the top of theimage is also closer to the horizon.

However, because the image can be captured from any direction, thehorizon can be in any direction, north, south, east, west, or any pointin between.

If the image is captured such that the camera is pointing north, thenthe right side of the image is east and the left side of the image iswest. However, if the image is captured such that the camera is pointingsouth, then the right side of the image is west and the left side of theimage is east. This can cause confusion for someone trying to navigatewithin the image. Additionally, because the ortho-mosaic grid isgenerally a rectilinear grid, by mathematical definition, the fourcardinal compass directions meet at right angles (90-degrees). But withan oblique image, because it is still in the original form the cameracaptured and has not been re-projected into a mathematical model, it isnot necessarily true that the compass directions meet at right angleswithin the image.

Because in the oblique perspective, you are moving towards the horizonas you move up in the image, the image covers a wider area on the groundnear the top of the image as compared to the area on the ground coverednear the bottom of the image. If you were to paint a rectangular grid onthe ground and capture it with an oblique image, the lines along thedirection the camera is pointing would appear to converge in thedistance and the lines across the direction of the camera is pointingwould appear to be more widely spaced in the front of the image thanthey do in the back of the image. This is the perspective view we areall used to seeing—things are smaller in the distance than close up andparallel lines, such as railroad tracks, appear to converge in thedistance. By contrast, if an ortho-mosaic image was created over thissame painted rectangular grid, it would appear as a rectangular grid inthe ortho-mosaic image since all perspective is removed as an incidentalpart of the ortho-mosaic process.

Because a rectilinear grid is used to construct an ortho-mosaic imageand the ortho-mosaic images are manufactured to provide a consistentperspective (straight down) it is possible to create the appearance of acontinuous, seamless image by simply displaying such images adjacent toone another, or by overlapping them. Such an appearance allows users toremain oriented when navigating between images since the appearance andorientation of a road, building, or other feature remains very similarfrom one image to the next.

Because oblique images are not grid aligned and can be captured from anydirection a feature on one image will not look the same on anotherimage. This is due to several factors:

-   -   The oblique perspective means that image pixels are not aligned        on a rectangular grid but are aligned to the perspective that        matches the perspective the camera has captured.    -   The image pixels on an oblique image cannot measure the same        size on the ground due to the perspective of the image. The area        of ground covered by the pixels in the foreground of the image        is smaller than the area of ground covered in the background of        the image. Features in the foreground of an image will be a        different size in the background of another image.    -   The effect of building lean varies from image to image.    -   The direction an edge of a feature travels across an image, such        as the edge of a road or building, will vary between images.    -   The captured portion of a feature will vary between images. For        example: a particular image may contain the entire side of a        building due to the head-on position of the capturing camera,        but another image only captures a portion of the same side due        to the capturing camera being at an angle relative to that side.

Because of these issues, the common practice in the industry is toprovide oblique imagery as a series of individual images within whichthe user can pan. To see beyond the limits of an image the user needs tocause another image to be loaded; they can then pan within that image.This invention details a means to allow continuous panning of obliqueimages such that the above limitations are overcome.

SUMMARY OF INVENTION

This invention allows for separate obliquely captured images to bepanned in a continuous fashion. In one embodiment, the presentlydisclosed and claimed invention is directed to a sequence ofinstructions stored on at least one computer readable medium for runningon a computer system capable of displaying and navigating obliqueimagery. The sequence of instructions includes:

instructions for displaying a pixel representation of a primary obliqueimage, the primary oblique image being part of a set of adjacent obliqueimages that represent an area of interest;

instructions for panning within the primary oblique image;

instructions for detecting a transition event of the primary obliqueimage;

instructions for selecting at least one adjacent secondary oblique imagefrom the set of oblique images corresponding to a supplied locationcoordinate; and

instructions for displaying the primary oblique image and the at leastone adjacent secondary oblique image on the same display such that thefeatures in the adjacent primary and secondary oblique images arealigned on the display.

In one embodiment, the sequence of instructions stored on the at leastone computer readable medium further comprising instructions fortranslating at least the primary and secondary oblique images' pixelcoordinates into location coordinates.

The transition event can be detected in a variety of manners. Forexample, the instructions for detecting a transition event may includeinstructions for (1) detecting the edge of the primary oblique image,(2) detecting the approach of an edge of the primary oblique image, or(3) detecting a pre-selected distance or number of pixels from the edgeof the primary oblique image.

A variety of factors or selection criteria can be used to select the atleast one secondary oblique image. For example, a current direction oftravel or panning can be used to select at least one secondary obliqueimage, or a relative position of the supplied location coordinate withinthe secondary oblique image can be used to select at least one secondaryoblique image. In addition, the instructions for selecting an adjacentsecondary oblique image from the set of oblique images can be adapted toselect multiple adjacent secondary oblique images that correspond tomultiple location coordinates, and the instructions for displaying theprimary and secondary oblique images on the same display can alsoinclude instructions for displaying multiple adjacent secondary obliqueimages on the same display.

In one embodiment, the oblique images are aerial oblique images.However, it should be understood that the oblique images can be othertypes of images, such as medical images, or architectural images.

The sequence of instructions can also further comprise instructions forcausing a secondary oblique image to be a primary oblique image, as wellas instructions for permitting a user to cause a secondary oblique imageto be a primary oblique image.

In another version, the presently disclosed and claimed invention isdirected to various methods. One of the methods is directed to using asequence of instructions for displaying and navigating oblique imagery,In one version, the method comprises the steps of:

displaying a pixel representation of a primary oblique image on adisplay of a computer system, the primary oblique image being part of aset of oblique images representing an area of interest;

panning within the primary oblique image;

detecting a transition event; and

displaying the primary oblique image and at least one adjacent secondaryoblique image on the same display such that the features in the primaryand adjacent secondary oblique images are aligned on the same display.

In another version, the invention is directed to a method forconfiguring a computer system for displaying oblique imagesrepresentative of adjacent areas on a display. The method comprises thestep of:

making a set of instructions on a computer readable medium accessible toa processor of a computer system, the set of instructions includinginstructions for:

displaying a pixel representation of a primary oblique image on adisplay of a computer system, the primary oblique image being part of aset of oblique images representing an area of interest;

panning within the primary oblique image;

detecting a transition event; and

displaying the primary oblique image and the at least one adjacentsecondary oblique image on the same display such that the features inthe primary and at least one secondary oblique images are aligned on thesame display.

In yet another version, the present invention is directed to a methodfor enhancing the ability of user(s) to display and navigate obliqueimagery on a display of a computer system. The method comprises the stepof:

selling and distributing a set of instructions for:

displaying a pixel representation of a primary oblique image on thedisplay of the computer system, the primary oblique image being part ofa set of oblique images representing an area of interest;

panning within the primary oblique image;

detecting a transition event; and

displaying the primary oblique image and the at least one adjacentsecondary oblique image on the same display such that the features inthe present and at least one oblique images are aligned on the samedisplay.

In yet another version, the invention is directed to a method forconfiguring a computer system having a display for displaying obliqueimages representative of adjacent areas. The method comprises the stepof:

providing access to a set of instructions stored on a computer readablemedium for installation on a computer readable medium associated withthe computer system, the set of instructions including instructions for:

displaying a pixel representation of a primary oblique image on thedisplay of the computer system, the primary oblique image being part ofa set of oblique images representing an area of interest;

panning within the primary oblique image;

detecting the approach of an edge of the primary oblique image; and

displaying the primary oblique image and the at least one adjacentsecondary oblique image on the same display such that the features inthe primary and at least one secondary oblique images are aligned on thesame display.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a schematic diagram of the hardware forming an exemplaryembodiment of a computer system constructed in accordance with thepresent invention.

FIG. 2 is a pictorial representation of a Master Image utilized inaccordance with the present invention.

FIG. 3a is a pictorial representation of a primary oblique image and asecondary oblique image with an edge indicator consisting of a grayscalesecondary oblique image and a Reference Indicator displayed.

FIG. 3b is a pictorial representation of FIG. 3a after the locationcommon to the two images has been changed.

FIG. 4 is an illustration of an exemplary software/function flow chartof a method for continually panning oblique images.

DETAILED DESCRIPTION OF THE PRESENTLY DISCLOSED AND CLAIMED INVENTION

Before explaining at least one embodiment of the invention in detail, itis to be understood that the invention is not limited in its applicationto the details of construction, experiments, exemplary data, and/or thearrangement of the components set forth in the following description orillustrated in the drawings.

The invention is capable of other embodiments or of being practiced orcarried out in various ways. Also, it is to be understood that thephraseology and terminology employed herein is for purpose ofdescription and should not be regarded as limiting.

The presently claimed and disclosed invention(s) relate to obliqueimages and a computer system and methods for panning the same in acontinuous fashion.

Terminology

-   -   Area of Interest—an area represented by a set of adjacent        oblique images.    -   Master Image—an oblique, orthogonal, or nadir image that is used        as a reference for organizing other images in the set.    -   Primary oblique image—a displayed oblique image that can be        considered “in front of” the other displayed images. The primary        oblique image can also be a master image.    -   Secondary oblique image—an oblique image that is not a Primary        oblique image or a master image, but is referenced by a primary        oblique image or a master image.    -   Transition—an act of visually changing the primary oblique image        into a secondary oblique image and a secondary oblique image        into a primary oblique image on a display of a computer system.        This can include, and is not limited to: fading images; and        directly replacing images.    -   Transition Event—An event that is detected to cause a Transition        to take place. The Transition Event can include, but is not        limited to: the act of Panning; or a user action such as a mouse        click.    -   Navigation—an act of determining what image to display and what        portion of an image to display based upon a set of coordinates.    -   Panning—an act of obscuring a currently displayed portion of an        image and/or revealing a previously hidden portion of an image        involving a visual shifting of the image.    -   Reference Indicator—A visual effect that is used to indicate a        common area of interest between two or more images.    -   Edge—an extreme boundary of an image; typically having a top, a        right side, a bottom, and a left side of the image.    -   Edge Indicator—A visual effect used to indicate the edge of an        image. This definition can include, but is not limited to:        rendering a portion of an image, or the entire image, in such a        way as to distinguish it from another image (for example,        converting an image to grayscale); the use of an arrow glyph to        point to the image edge.    -   Feature—One or more captured objects in an image. Features can        be used to maintain reference when a user is transitioning        between images.    -   Computer System—a system or systems that are able to embody        and/or execute the logic of the processes described herein. The        logic embodied in the form of software instructions, or firmware        may be executed on any appropriate hardware which may be a        dedicated system or systems, or a personal computer system, or        distributed processing computer system.    -   Computer Readable Medium—a device that can be read either        directly or indirectly by a processor of a computer system.        Examples of Computer Readable Mediums include an optical storage        device, a magnetic storage device, an electronic storage device        or the like.

DETAILED DESCRIPTION

Referring now to the drawings, and in particular to FIGS. 1, 2 and 3,shown therein and designated by a reference numeral 10 is an exemplarycomputer system constructed in accordance with the present invention.

Preferably, the computer system 10 is distributed, and includes a hostsystem 12, communicating with one or more user devices 14 via a network16. The network 16 can be the Internet or other network. In either case,the host system 12 typically includes one or more servers 18 configuredto communicate with the network 16 via one or more gateways 20. When thenetwork 16 is the Internet, the primary user interface of the computersystem 10 is delivered through a series of web pages, but the primaryuser interface can be replaced by another type of interface, such as aWindows-based application. This method is also used when deploying thecomputer system 10 in a stand-alone environment such as a kiosk.

The network 16 can be almost any type of network although Internet andInternet 2 networks are preferred because of the wide support of theirunderlying technologies. The preferred embodiment of the network 16exists in an Internet environment, which means a TCP/IP-based network.It is conceivable that in the near future, the preferred or otherembodiments, may wish to use more advanced networking topologies.

The servers 20 can be networked with a LAN 30. The gateway 20 is anentity responsible for providing access between the LAN 30 and thenetwork 16. The gateway 20 can also be used as a security means toprotect the LAN 30 from attack from external networks such as thenetwork 16.

The LAN 30 network can be based on a TCP/IP network such as theInternet, or it can be based on another underlying network transporttechnology. The preferred embodiment uses an Ethernet network withTCP/IP because of the availability and acceptance of underlyingtechnologies, but other embodiments may use other types of networks suchas Fibre Channel, SCSI, Gigabit Ethernet, etc.

As discussed above, in one preferred embodiment, the host system 12includes the servers 18. The configuration of the server hardware willdepend greatly upon the requirements and needs of the particularembodiment of the computer system 10. Typical embodiments, including thepreferred embodiment, will include multiple servers 18 with loadbalancing to increase stability and availability. It is envisioned thatthe servers 18 will include database servers and application/webservers. The database servers are preferably separated from theapplication/web servers to improve availability and also to provide thedatabase servers with improved hardware and storage.

The user devices 14 can be any number and type of devices. The mosttypical scenario of the user device 14 involves a user 32, using acomputer 34 with a display 36, keyboard 38, and mouse 40. The display 36can be a single monitor or multiple adjacent monitors. Typically, theuser device 14 uses a type of software called a “browser” as indicatedby a reference numeral 42 to render HTML/XHTML content that is generatedwhen requesting resources from a source, such as the host system 12. Inthe preferred embodiment, the computer system 10 is designed to becompatible with major Web Browser vendors (Microsoft Internet Explorer,Netscape Navigator, and Opera). Other embodiments may wish to focus onone particular browser depending upon the common user base using thecomputer system 10.

The user devices 14 can also be implemented as a portable device such asa laptop computer 50 (or handheld computer); a cellular telephone 52with a micro or embedded Web Browser; a Portable Digital Assistant 54(PDA) capable of wireless network access; a pen-based or tablet computer56. In another embodiment, the user device 14 can be a cable box 60 orother similar device for viewing through a display 62 or television.Current embodiments of computer system 10 can also be modified to useany of these or future developed devices.

The computer system 10 is designed in this way as to provide flexibilityin its deployment. Depending upon the requirements of the particularembodiment, the Engine could be designed to work in almost anyenvironment such as a desktop application, a web application, or evensimply as a series of web services designed to communicate with anexternal application.

The hardware and system software are designed with two key concerns;flexibility and scalability. Although some specifics for software andhardware components may be mentioned herein, it will be understood thata wide array of different components could be substituted, such as usingdifferent database vendors or even replacing the databases withXML-based document stores.

When the computer system 10 is used to execute the logic of theprocesses described herein, such computer(s) and/or execution can beconducted at a same geographic location or multiple different geographiclocations. Furthermore, the execution of the logic can be conductedcontinuously or at multiple discrete times.

In general, the computer system 10 is capable of displaying andnavigating oblique imagery. An oblique image can be represented by asingle pixel map, or by a series of tiled pixel maps that whenaggregated recreate the image pixel map.

The computer system 10 will be described by way of example utilizingaerial images. However, it should be understood that the computer system10 can use other types of images, such as medical images, orarchitectural images.

The computer system 10 includes one or more computer readable mediumstoring instructions for displaying a pixel representation of one ormore master image 100 (FIG. 2), one or more primary oblique image 102and one or more secondary oblique image 104 a-d. The master image(s) 100is used as a reference for organizing other images in the set, and asshown in FIG. 2 may represent an area of interest including the primaryoblique image(s) 102 and the secondary oblique image(s) 104 a-d. Thecomputer readable medium can be a part of the host system 12, the userdevices 14 or combinations thereof.

As shown in FIG. 2, in a preferred embodiment, the secondary obliqueimages 104 a-d overlap a portion of the primary oblique image 102, suchthat the overlapping portions of the primary oblique image 102 andsecondary oblique images 104 a-d represent the same features of the areaof interest. Thus, the primary oblique image(s) 102 and the secondaryoblique image(s) 104 a-d are part of a set of adjacent oblique imagescooperating to represent the area of interest or a portion of the areaof interest.

The computer system 10 also includes instructions for (1) displaying apixel representation of the primary and secondary oblique image on thedisplay 36. (2) panning within the primary oblique image 102 asindicated by arrows 105 a-d, (3) detecting a transition event of theprimary oblique image 102, (4) selecting at least one adjacent secondaryoblique image 104 a-d from the set of oblique images corresponding to asupplied location coordinate, and (5) displaying the primary obliqueimage 102 and the at least one adjacent secondary oblique image 104 a-don the same display 36 such that the features in the adjacent primaryoblique image 102 and secondary oblique images 104 a-d are aligned onthe display 36. The instructions typically run on a combination of theuser devices 14 and the host system 12.

The master image 100, primary oblique image 102, and secondary obliqueimage 104 a-d can be any type of images that have location coordinatesor a measuring system stored with or associated with the images. Forexample, the master image 100, primary oblique image 102, and secondaryoblique image 104 a-d can be medical images, architectural images oraerial images. The computer system 10 uses one or more databases orservers 18 (see FIG. 1) to store the master image 100, primary obliqueimage 102, and secondary oblique image 104 a-d in an organized format.The master image 100, primary oblique image 102, and secondary obliqueimage 104 a-d can use any color space, and be stored in any industrysupported file format, such as TIFF, JPEG, TARGA, GIF, BMP, ECW or thelike.

As described hereinabove, panning oblique images in a continuous manneris fraught with problems and unlikely to provide a useable means ofnavigation using the current state of the art. Therefore, in order toallow continuous panning of oblique images a new process must beperformed. Such an improved and unique process is described and claimedherein and preferably uses, generally, the following considerations:

-   -   The use of a particular portion of the master image 100 to        generate one or more geographic locations that are subsequently        used to determine a set of oblique images representing the        locations.    -   The use of geographic locations to determine the positioning of        one or more secondary oblique images 104 a-d relative to a        primary oblique image 102 to ensure that at least one feature in        the primary oblique image 102 is displayed on the secondary        oblique image 104 a-d.    -   The use of visual effects to distinguish an edge of the primary        oblique image 102 from any secondary oblique images 104 a-d.    -   The use of visual effects to indicate where on a primary oblique        image 102 and secondary oblique image 104 a-d the point of        interest is located.    -   The use of a Transition Event to cause a transition to take        place between one or more primary oblique images 102 and one or        more secondary oblique images 104 a-d.    -   The simultaneous display of one or more primary oblique image        102 and/or secondary oblique images 104 a-d or portions of those        images.

In practice, the methodology disclosed and claimed herein, consists ofmultiple steps and data transformations that can be accomplished by oneof ordinary skill in the art given the present specification. Eitherinstructions running on the host system 12 or the instructions runningon the user devices 14 can detect transition event(s).

Referring to FIG. 4, the first step 200 in handling continuous panningwith oblique images is to obtain a relevant geographic location. Oncethe geographic location is obtained, a set of images representing thatlocation is then obtained, which is the second step 202. The images canbe obtained from the database servers 18 discussed above. The relevantgeographic location can be obtained internally, through calculating aposition based upon a mathematical formula, or through an externalentity, such as a database or user input. In the preferred embodiment, auser indicates an initial geographic location. Subsequent locations aremathematically calculated using image boundaries and other TransitionEvents.

The third step 204 is to make a determination of which image from theobtained set best represents the geographic location and make that imagethe primary oblique Image 102 (FIG. 2). Once the primary oblique Image102 has been determined one or more Transition Events are determined. Insome cases, the computer system 10 acts immediately, for example, on aTransition Event to determine and display secondary oblique images 104a-d (FIG. 2) as described below. The transition events can take avariety of forms, such as but not limited to:

-   -   a specific portion of a primary oblique image 102 is calculated        to be displayed (“front loading”), or is displayed.    -   an edge of the primary oblique image 102 or a pre-selected        distance or number of pixels from the edge of the primary        oblique image 102.    -   defined by the user either ahead of time or though some action        on the user's part in “real time”.    -   A region of the display area not covered by a primary oblique        image 102.

The fourth step 206 is to display the primary oblique image 102; whereasthe fifth step 208 is to determine and display the secondary obliqueimages 104 a-d. Usually, secondary oblique Images 104 a-d are displayedwhen the primary oblique image 102 doesn't provide sufficient coveragefor the area of interest; but this is not a requirement. When secondaryoblique Images 104 a-d are provided the following steps are taken:

-   -   A geographic location (e.g. a supplied location coordinate) is        chosen that is common to both the primary oblique image 102 and        a set of secondary oblique images 104 a-d.    -   A determination of the best secondary oblique image 104 a-d for        that location is made based on algorithmic selection. The        algorithmic selection is made based upon a variety of factors,        such as one or more selection criteria. If multiple selection        criteria are used, the selected selection criteria can be        combined either directly (indicating which are in or out of the        selection set) or with predetermined weighting factors which        indicate which selection criterion is more important to the        selection process. These factors or selection criteria include,        but are not limited to: the location of the secondary oblique        image 104 (e.g., the geographic location) or the location        coordinates contained in the secondary oblique image, the        direction from which the secondary oblique image 104 was taken,        i.e., the orientation of the secondary oblique image, the ground        sample distance of the pixels within the secondary oblique image        104, image type, the date and/or time the secondary oblique        image was captured, the distance from the edge of the location        coordinate within the secondary oblique image 104, the relative        position of the supplied location coordinate within the        secondary oblique image, the current direction of travel or        panning in relation to the secondary oblique image, the nearness        of orientation of the secondary oblique image to the primary        oblique image, the size of the secondary oblique image, the        capture spectra of the secondary oblique image, the image        quality of the secondary oblique image, the nearness of metadata        information of the secondary oblique image to the metadata        information of the primary oblique image, or the vertical        position of the location on the secondary oblique image 104.        Which selection criteria or factors to use and how to combine        them is predetermined based on the use of the system 10 and the        needs of the users of the system 10.    -   The best secondary oblique image 104 a-d is displayed in such a        way that one or more common geographic locations on both images        are displayed adjacent to each other.    -   An Edge Indicator 209 is displayed to show where the primary        oblique image 102 ends and the secondary oblique image begins        104 a-d.

If one secondary oblique image 104 a-d also doesn't provide sufficientcoverage, the Step 208 is repeated for those areas lacking sufficientcoverage until there is sufficient coverage.

The sixth step 210 is to wait for a Transition Event to be triggered.The seventh step 212 is to transition images when a Transition Event istriggered. The user triggers a Transition Event by performing an actionthat indicates they wish to view a previously hidden portion of anoblique image. There are two ways of satisfying this request:

-   -   1. Scroll the primary oblique image 102 and use secondary        oblique Images 104 a-d as needed to provide sufficient coverage        as aforementioned.    -   2. Cause a new image to be the primary oblique image 102,        position the image appropriately and provide sufficient coverage        as needed with secondary oblique Images 104 a-d as        aforementioned.

The display of a new primary oblique image 102 can be accomplishedthrough several techniques. Some, but not all of these techniques arelisted below. In the preferred embodiment, the gradual transitioningmethod is preferred.

-   -   Draw the new primary oblique image 102 over the existing images        with no transitions.    -   Perform a rollback transition where the old primary oblique        image 102 appears to be rolled to the side and the newly exposed        area is filled with the new primary oblique image.    -   Gradually transition by fading-out (make less visible) the old        primary oblique image 102 and simultaneously fade-in (make more        visible) the new primary oblique image 102.

The purpose of transitioning the primary oblique images 102 is to allowthe user to visually maintain a clear sight of the image features theyare using for geographic referencing.

There is a special case of panning that makes use of the currentlydisplayed images through the manipulation of the common geographiclocation between a primary oblique image 102 and secondary oblique image104 a-d. It is helpful, but not necessary, to display the ReferenceIndicator 209 to assist the user in determining where on the images thecommon locations are. Through the manipulation of the ReferenceIndicator 209, or some other means, the common location can be changedcausing the displayed images to be updated to maintain the adjacentdisplay of the common location. Due to the nature of oblique images theact of displaying the common location will cause panning to occur,obscuring or revealing portions of an oblique image.

Thus, in use, the computer system 10 starts with the primary obliqueimage (i.e., the primary oblique image 102) that has locationinformation, such as a geographic position, and as the user causes theprimary oblique image 102 to pan across the display 36 and reaches atransition event, such as the edge of the primary oblique image 102, theinstructions running on the computer system 10 automatically determinewhich secondary oblique image 104 a-d lies along the edge of the primaryoblique image 102 and opens the secondary oblique image 104 a-d. Then,the instructions running on the computer system 10 position thesecondary oblique image 104 a-d on the display such that the features inthe adjacent primary oblique image 102 and secondary oblique images 104a-d are aligned on the display.

Although the foregoing invention has been described in some detail byway of illustration and example for purposes of clarity ofunderstanding, it will be obvious to those skilled in the art thatcertain changes and modifications may be practiced without departingfrom the spirit and scope thereof, as described in this specificationand as defined in the appended claims below.

What is claimed is:
 1. A sequence of instructions stored on at least onenon-transitory computer readable medium for running on a computer systemcapable of displaying and navigating oblique imagery, comprising:instructions for displaying on a display a pixel representation of aprimary oblique image, the primary oblique image being part of a set ofadjacent oblique images that partially, but not completely, overlapand-represent an area of interest; instructions for panning within theprimary oblique image, the primary oblique image including overlappingdata; instructions for detecting a transition event, triggered by a userpanning within the primary oblique image, of the displayed primaryoblique image; instructions for selecting an adjacent secondary obliqueimage from the set of oblique images corresponding to a suppliedlocation coordinate; and instructions for displaying the adjacentsecondary oblique image in response to the detection of the transitionevent on the display by gradually transitioning between the primary andthe adjacent secondary oblique image.
 2. The sequence of instructionsstored on the at least one non-transitory computer readable medium ofclaim 1, wherein the instructions for displaying the adjacent secondaryoblique image draws the adjacent secondary oblique image over theprimary oblique image.
 3. The sequence of instructions stored on the atleast one non-transitory computer readable medium of claim 1 furthercomprising instructions for translating at least the primary andsecondary oblique images' pixel coordinates into location coordinates.4. The sequence of instructions stored on the at least onenon-transitory computer readable medium of claim 1, wherein theinstructions for detecting the transition event include instructions fordetecting an edge of the primary oblique image.
 5. The sequence ofinstructions stored on the at least one non-transitory computer readablemedium of claim 1, wherein the instructions for detecting the transitionevent include instructions for detecting an approach of an edge of theprimary oblique image.
 6. The sequence of instructions stored on the atleast one non-transitory computer readable medium of claim 1, whereinthe instructions for detecting the transition event include instructionsfor detecting a pre-selected distance or number of pixels from an edgeof the primary oblique image.
 7. The sequence of instructions stored onthe at least one non-transitory computer readable medium of claim 1,wherein a current direction of travel or panning is used to select theadjacent secondary oblique image.
 8. The sequence of instructions storedon the at least one non-transitory computer readable medium of claim 1,wherein a relative position of the supplied location coordinate withinthe adjacent secondary oblique image is used to select the adjacentsecondary oblique image.
 9. The sequence of instructions stored on theat least one non-transitory computer readable medium of claim 1, whereinthe set of oblique images is aerial oblique images.
 10. The sequence ofinstructions stored on the at least one non-transitory computer readablemedium of claim 1, wherein the instructions for selecting the adjacentsecondary oblique image from the set of oblique images selects multipleadjacent secondary oblique images that correspond to multiple locationcoordinates.
 11. The sequence of instructions stored on the at least onenon-transitory computer readable medium of claim 1, wherein theinstructions for displaying the adjacent secondary oblique image areconfigured to cause a rollback transition wherein the primary obliqueimage appears to be rolled to a side and a newly exposed area is filledwith the adjacent secondary oblique image.
 12. The sequence ofinstructions stored on the at least one non-transitory computer readablemedium of claim 1, wherein the instructions for displaying the adjacentsecondary oblique image are configured to cause a gradual transition byfading-out the primary oblique image.
 13. The sequence of instructionsstored on the at least one non-transitory computer readable medium ofclaim 12, wherein the instructions for displaying the adjacent secondaryoblique image are configured to cause the primary oblique image tofade-out and simultaneously cause the adjacent secondary oblique imageto fade-in.
 14. A method of using a sequence of instructions fordisplaying and navigating oblique imagery, comprising: displaying apixel representation of a primary oblique image on a display of acomputer system, the primary oblique image being part of a set ofoblique images that partially, but not completely, overlap and representan area of interest; panning within the primary oblique image, theprimary oblique image including overlapping data; detecting a transitionevent, triggered by a user panning within the primary oblique image, andrelated to the displayed primary oblique image; and displaying anadjacent secondary oblique image on the display of the computer systemby gradually transitioning between the primary and the adjacentsecondary oblique image from the set of oblique images responsive to thedetection of the transition event.
 15. The method of claim 14, whereinthe step of displaying is defined further as displaying the adjacentsecondary oblique image by causing the primary oblique image to fade-outand causing the adjacent secondary oblique image to fade-in.
 16. Amethod for configuring a computer system for displaying oblique imagesrepresentative of adjacent areas on a display, comprising the step of:making a set of instructions on a non-transitory computer readablemedium accessible to a processor of the computer system, the set ofinstructions including instructions for: displaying a pixelrepresentation of a primary oblique image on the display of the computersystem, the primary oblique image being part of a set of oblique imagesthat partially, but not completely, overlap and represent an area ofinterest; panning within the primary oblique image, the primary obliqueimage including overlapping data; detecting a transition event,triggered by a user panning within the primary oblique image; anddisplaying an adjacent secondary oblique image from the set of obliqueimages by gradually transitioning between the primary and the adjacentsecondary oblique image responsive to the detection of the transitionevent.
 17. The method of claim 16, wherein features in the primary andat least one secondary oblique images are aligned.
 18. A method forenhancing an ability of users to display and navigate oblique imagery ona display of a computer system, comprising the step of: distributing aset of instructions stored on a non-transitory computer readable mediumfor: displaying a pixel representation of a primary oblique image on thedisplay of the computer system, the primary oblique image being part ofa set of oblique images that partially, but not completely, overlap andrepresent an area of interest; panning within the primary oblique image,the primary oblique image including overlapping data; detecting atransition event, triggered by a user panning within the primary obliqueimage; and displaying at least one adjacent secondary oblique image fromthe set of oblique images on the display responsive to the detection ofthe transition event.
 19. The method of claim 18, wherein the step ofdisplaying is defined further as displaying the adjacent secondaryoblique image by causing the primary oblique image to fade-out andcausing the adjacent secondary oblique image to fade-in.
 20. A methodfor configuring a computer system having a display for displayingoblique images representative of adjacent areas, comprising the step of:providing access to a set of instructions stored on a firstnon-transitory computer readable medium for installation on a secondnon-transitory computer readable medium associated with the computersystem, the set of instructions including instructions for: displaying apixel representation of a primary oblique image on the display of thecomputer system, the primary oblique image being part of a set ofoblique images that partially, but not completely, overlap and representan area of interest; panning within the primary oblique image, theprimary oblique image including overlapping data; detecting an approachof an edge of the primary oblique image while panning within the primaryoblique image; and displaying an adjacent secondary oblique image fromthe set of oblique images on the display responsive to the detection ofthe approach of the edge.
 21. The method of claim 20, wherein featuresin the primary oblique image and the adjacent secondary oblique imagesare aligned.